/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.losalpes.persistence;

import com.losalpes.persistence.entity.Compra;
import javax.ejb.Local;

/**
 *
 * @author Juan Ma
 */
@Local
public interface IComprasPersistenceServices {

    /**
     * Persiste una instancia de compra
     * @param compra compra a persistir
     */
    public void create(java.lang.Object compra);

    /**
     * Actualiza una entidad en base de datos
     * @param compra compra que se va a actualizar
     */
    public void update(java.lang.Object compra);

    /**
     * Borra una entidad de base de datos
     * @param compra compra que se va a borrar
     */
    public void delete(java.lang.Object compra);

    /**
     * obtiene la lista de todas las entidades
     * @param c Clase de la entidad
     * @return lista de todas las entidades de esa clase
     */
    public java.util.Collection findAll(Class c);

    /**
     * Registra una compra, contiene la transacción de validación y disminución de cupo de tarjeta
     * @param compra compra a registrar
     * @throws java.lang.Exception si ocurre algun error.
     */
    public void registrarCompra(Compra compra) throws Exception;
    
}
